package com.lingxu.api.ztb.scheduled;

import com.lingxu.api.sysdata.service.IDataGatherService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

import javax.annotation.Resource;

@Slf4j
@Component
@EnableScheduling
public class ApiSchedule {

    @Resource
    private IDataGatherService service;

    private boolean isTaskEnabled = false; //API超市抽取数据定时
    private boolean isZTBTaskEnabled = false; //招投标控制定时

    @Scheduled(cron = "0 7 19 * * ?")
    public void CronTask(){
        if(!isTaskEnabled){
            log.info("API同步数据定时任务已关闭");
            return;
        }
        service.JJXMXX(); // 交建项目基本信息
        service.GDXXB(); // 国道项目基本信息
        service.GHXMB(); // 港航项目基本信息
        service.XMJBXXTB(); // 同步项目基本信息审批时间、审批有效期数据
        //------------------
        service.JJBDXX(); // 交建标段信息表
        service.XMZBXX(); // 国道标段信息表
        service.GHBDB(); //港航标段信息表
        //------------------
        service.JJGKPFA(); // 交建工可批复
        service.GDGKPF(); // 国道工可批复
        service.GHGKPF(); // 港航工可批复
        //------------------
        service.JJCSPFA(); // 交建初设批复
        service.GDCSPF(); // 国道初设批复
        service.GHCSPF(); // 港航初设批复
        //------------------
        service.JJSGTSJPF(); // 交建施工图设计
        service.GDSGTSJPF(); // 国道施工图设计
        service.GHSGTSJ(); // 港航施工图设计
        //------------------
        service.JJZTB(); // 交建招投标
        service.GDZTB(); // 国道招投标
        service.GHZTBXX(); // 港航招投标
        //------------------
        service.JJXMSGXK(); // 交建施工许可
        service.API_Y029_SGXKB(); // 国道施工许可
        service.GHSGXK(); // 港航施工许可
        //------------------
        service.JJXMSGXX(); // 交建施工信息
        service.XMSGXX(); // 国道施工信息
        service.GHSGXX(); // 港航施工信息

        //------------------
        service.JJBGGL(); //交建变更管理
        service.SJBGB(); // 国道设计变更
        service.GHSJBG(); // 港航设计变更

        //------------------分包管理
        service.JJFBGL(); // 交建分包管理
        service.FBGL(); // 国道分包管理
        service.GHFBGLB(); //港航分包管理

        //------------------资金管理(国道表缺失)
        service.JJZJGL(); //交建资金管理
        service.GHZJGL(); // 港航资金管理

        //------------------质量检查
        service.JJZLGL(); //交建质量管理
        service.ZLGL(); // 国道质量检查(缺少文件中文名字段)
        service.GHZLGLB(); // 港航质量检查

        //------------------安全检查[交建表结构无法对应]
        service.JJAQGL(); //交建安全检查
        service.AQGLB(); // 国道安全检查(缺少文件中文名字段)
        service.GHZLAQB(); // 港航安全检查

        //------------------跟踪审计
        service.JJGZSJ(); // 交建跟踪审计
        service.GDGZSJ(); // 国道跟踪审计
        service.GHGZSJ(); // 港航跟踪审计

        //------------------项目监理(交建表缺失)
        service.GHJLSX(); // 港航项目监理
        service.Y029_JLSXXX(); // 国道项目监理

        //------------------交工验收(交建表缺失、国道表已下线)
        service.GHJGYS(); // 港航交工验收

        //------------------竣工验收(交建表缺失、国道表结构无法对应)
        service.GHJUNGYS(); //港航竣工验收


    }

    @Scheduled(cron = "0 15 3 * * ?")
    public void ZTBCronTask(){
        if(!isZTBTaskEnabled){
            log.info("API同步数据定时任务已关闭");
            return;
        }

        service.biddingcandidate(); //中标候选人公告
        service.biddingevafilehis(); //招标评标工作备案表
//        service.biddingfile(); //招标文件表
//        service.biddingfilechangehis(); //招标文件修改记录表
        service.biddingnotice(); //招标公告表
//        service.biddingnoticeadditional(); //更正公告表
        service.ZTBHTB(); //招投标合同表
        service.bidwinshow(); //中标结果公告表
        service.expert(); //专家表
        service.noticeParagraph(); //招标公告和标段匹配表
        service.paragraph(); //标段表
        service.project(); //项目信息表
//        service.quacheckpolicy(); //初步评审项表
//        service.quacheckresult(); //初步评审结果表
        service.tenderapply(); //投标报名表
        service.tenderapplyprivatemessage(); //投标单位mac信息表
//        service.trial(); //评标办法表
        service.trialexpertgroup(); //评审专家组表
//        service.trialgrade(); //详细评审项表
//        service.trialresult(); //详细评审结果表
        service.regcompany(); //单位信息表
        service.QYJBXX(); //企业基本信息
        service.enterprisebase(); //企业基本信息表
    }
}
